home *** CD-ROM | disk | FTP | other *** search
Wrap
SSSSDDDDOOOOTTTT((((3333SSSS)))) SSSSDDDDOOOOTTTT((((3333SSSS)))) NNNNAAAAMMMMEEEE SSSSDDDDOOOOTTTT, DDDDDDDDOOOOTTTT, CCCCDDDDOOOOTTTTCCCC, ZZZZDDDDOOOOTTTTCCCC, CCCCDDDDOOOOTTTTUUUU, ZZZZDDDDOOOOTTTTUUUU - Computes a dot product (inner product) of two real or complex vectors SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS Single precision Fortran: rrrreeeeaaaallll SSSSDDDDOOOOTTTT rrrreeeeaaaallll _d_o_t _d_o_t ==== SSSSDDDDOOOOTTTT ((((_n,,,, _x,,,, _i_n_c_x,,,, _y,,,, _i_n_c_y)))) C/C++: ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> ffffllllooooaaaatttt ssssddddooootttt((((iiiinnnntttt _n,,,, ffffllllooooaaaatttt *_x,,,, iiiinnnntttt _i_n_c_x,,,, ffffllllooooaaaatttt *_y,,,, iiiinnnntttt _i_n_c_y))));;;; Double precision Fortran: ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn DDDDDDDDOOOOTTTT ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn _d_o_t _d_o_t ==== DDDDDDDDOOOOTTTT ((((_n,,,, _x,,,, _i_n_c_x,,,, _y,,,, _i_n_c_y)))) C/C++: ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> ddddoooouuuubbbblllleeee ddddddddooootttt((((iiiinnnntttt _n,,,, ddddoooouuuubbbblllleeee *_x,,,, iiiinnnntttt _i_n_c_x,,,, ddddoooouuuubbbblllleeee *_y,,,, iiiinnnntttt _i_n_c_y))));;;; Single precision complex Fortran: ccccoooommmmpppplllleeeexxxx CCCCDDDDOOOOTTTTCCCC CCCCDDDDOOOOTTTTUUUU ccccoooommmmpppplllleeeexxxx _d_o_t _d_o_t ==== CCCCDDDDOOOOTTTTCCCC ((((_n,,,, _x,,,, _i_n_c_x,,,, _y,,,, _i_n_c_y)))) _d_o_t ==== CCCCDDDDOOOOTTTTUUUU ((((_n,,,, _x,,,, _i_n_c_x,,,, _y,,,, _i_n_c_y)))) C/C++: ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> ssssccccssssllll____ccccoooommmmpppplllleeeexxxx ccccddddoooottttcccc((((iiiinnnntttt _n,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt _i_n_c_x,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_y,,,, iiiinnnntttt _i_n_c_y))));;;; ssssccccssssllll____ccccoooommmmpppplllleeeexxxx ccccddddoooottttuuuu((((iiiinnnntttt _n,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt _i_n_c_x,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_y,,,, iiiinnnntttt _i_n_c_y))));;;; C++ STL: ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>> ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> ccccddddoooottttcccc((((iiiinnnntttt _n,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_x,,,, iiiinnnntttt _i_n_c_x,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_y,,,, iiiinnnntttt _i_n_c_y))));;;; ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> ccccddddoooottttuuuu((((iiiinnnntttt _n,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_x,,,, iiiinnnntttt _i_n_c_x,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_y,,,, iiiinnnntttt _i_n_c_y))));;;; PPPPaaaaggggeeee 1111 SSSSDDDDOOOOTTTT((((3333SSSS)))) SSSSDDDDOOOOTTTT((((3333SSSS)))) Double precision complex Fortran: ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx ZZZZDDDDOOOOTTTTCCCC ZZZZDDDDOOOOTTTTUUUU ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx _d_o_t _d_o_t ==== ZZZZDDDDOOOOTTTTCCCC ((((_n,,,, _x,,,, _i_n_c_x,,,, _y,,,, _i_n_c_y)))) _d_o_t ==== ZZZZDDDDOOOOTTTTUUUU ((((_n,,,, _x,,,, _i_n_c_x,,,, _y,,,, _i_n_c_y)))) C/C++: ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx zzzzddddoooottttcccc((((iiiinnnntttt _n,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt _i_n_c_x,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_y,,,, iiiinnnntttt _i_n_c_y))));;;; ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx zzzzddddoooottttuuuu((((iiiinnnntttt _n,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt _i_n_c_x,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_y,,,, iiiinnnntttt _i_n_c_y))));;;; C++ STL: ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>> ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> zzzzddddoooottttcccc ((((iiiinnnntttt _n,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_x,,,, iiiinnnntttt _i_n_c_x,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_y,,,, iiiinnnntttt _i_n_c_y))));;;; ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> zzzzddddoooottttuuuu ((((iiiinnnntttt _n,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_x,,,, iiiinnnntttt _i_n_c_x,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_y,,,, iiiinnnntttt _i_n_c_y))));;;; IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN These routines are part of the SCSL Scientific Library and can be loaded using either the ----llllssssccccssss or the ----llllssssccccssss____mmmmpppp option. The ----llllssssccccssss____mmmmpppp option directs the linker to use the multi-processor version of the library. When linking to SCSL with ----llllssssccccssss or ----llllssssccccssss____mmmmpppp, the default integer size is 4 bytes (32 bits). Another version of SCSL is available in which integers are 8 bytes (64 bits). This version allows the user access to larger memory sizes and helps when porting legacy Cray codes. It can be loaded by using the ----llllssssccccssss____iiii8888 option or the ----llllssssccccssss____iiii8888____mmmmpppp option. A program may use only one of the two versions; 4-byte integer and 8-byte integer library calls cannot be mixed. The C and C++ prototypes shown above are appropriate for the 4-byte integer version of SCSL. When using the 8-byte integer version, the variables of type iiiinnnntttt become lllloooonnnngggg lllloooonnnngggg and the <<<<ssssccccssssllll____bbbbllllaaaassss____iiii8888....hhhh>>>> header file should be included. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN SSSSDDDDOOOOTTTT/DDDDDDDDOOOOTTTT computes a dot product of two real vectors (_l_2 real inner product). CCCCDDDDOOOOTTTTCCCC/ZZZZDDDDOOOOTTTTCCCC computes a dot product of the conjugate of a complex vector and another complex vector (_l_2 complex inner product). CCCCDDDDOOOOTTTTUUUU/ZZZZDDDDOOOOTTTTUUUU computes a dot product of two complex vectors. SSSSDDDDOOOOTTTT/DDDDDDDDOOOOTTTT and CCCCDDDDOOOOTTTTUUUU/ZZZZDDDDOOOOTTTTUUUU perform the following vector operation: PPPPaaaaggggeeee 2222 SSSSDDDDOOOOTTTT((((3333SSSS)))) SSSSDDDDOOOOTTTT((((3333SSSS)))) T n dot <- x y = Sum x y i=1 i i where _x and _y are real or complex vectors, and _x_T is the transpose of _x. CCCCDDDDOOOOTTTTCCCC/ZZZZDDDDOOOOTTTTCCCC performs the following vector operation: H n _ dot <- x y = Sum x y i=1 i i where _x and _y are complex vectors, and _x_H is the conjugate transpose of _x. If _n <= 0, _d_o_t is set to 0. See the NOTES section of this man page for information about the interpretation of the data types described in the following arguments. These functions have the following arguments: _n Integer. (input) Number of elements in each vector. _x Array of dimension (_n-1) * |_i_n_c_x| + 1. (input) SSSSDDDDOOOOTTTT: Single precision array. DDDDDDDDOOOOTTTT: Double precision array. CCCCDDDDOOOOTTTTCCCC, CCCCDDDDOOOOTTTTUUUU: Single precision complex array. ZZZZDDDDOOOOTTTTCCCC, CCCCDDDDOOOOTTTTUUUU: Double precision complex array. Array _x contains the first vector operand. _i_n_c_x Integer. (input) Increment between elements of _x. If _i_n_c_x = 0, the results will be unpredictable. _y Array of dimension (_n-1) * |_i_n_c_y| + 1. (input) SSSSDDDDOOOOTTTT: Single precision array. DDDDDDDDOOOOTTTT: Double precision array. CCCCDDDDOOOOTTTTCCCC, CCCCDDDDOOOOTTTTUUUU: Single precision complex array. ZZZZDDDDOOOOTTTTCCCC, ZZZZDDDDOOOOTTTTUUUU: Double precision complex array. Array _y contains the second vector operand. _i_n_c_y Integer. (input) Increment between elements of _y. If _i_n_c_y = 0, the results will be unpredictable. PPPPaaaaggggeeee 3333 SSSSDDDDOOOOTTTT((((3333SSSS)))) SSSSDDDDOOOOTTTT((((3333SSSS)))) NOTES These routines are Level 1 Basic Linear Algebra Subprograms (Level 1 BLAS). When working backward (_i_n_c_x < 0 or _i_n_c_y < 0), each routine starts at the end of the vector and moves backward, as follows: _x(1-_i_n_c_x * (_n-1)), _x(1-_i_n_c_x * _n-2)), ..., _x(1) _y(1-_i_n_c_y * (_n-1)), _y(1-_i_n_c_y * (_n-2)), ..., _y(1) DDDDaaaattttaaaa TTTTyyyyppppeeeessss The following data types are described in this documentation: TTTTeeeerrrrmmmm UUUUsssseeeedddd DDDDaaaattttaaaa ttttyyyyppppeeee Fortran: Array dimensioned _n xxxx((((nnnn)))) Integer IIIINNNNTTTTEEEEGGGGEEEERRRR (IIIINNNNTTTTEEEEGGGGEEEERRRR****8888 for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]]) Character CCCCHHHHAAAARRRRAAAACCCCTTTTEEEERRRR Single precision RRRREEEEAAAALLLL Double precision DDDDOOOOUUUUBBBBLLLLEEEE PPPPRRRREEEECCCCIIIISSSSIIIIOOOONNNN Single precision complex CCCCOOOOMMMMPPPPLLLLEEEEXXXX Double precision complex DDDDOOOOUUUUBBBBLLLLEEEE CCCCOOOOMMMMPPPPLLLLEEEEXXXX C/C++: Array dimensioned _n xxxx[[[[_n]]]] Character cccchhhhaaaarrrr Integer iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]]) Single precision ffffllllooooaaaatttt Double precision ddddoooouuuubbbblllleeee Single precision complex ssssccccssssllll____ccccoooommmmpppplllleeeexxxx Double precision complex ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx C++ STL: PPPPaaaaggggeeee 4444 SSSSDDDDOOOOTTTT((((3333SSSS)))) SSSSDDDDOOOOTTTT((((3333SSSS)))) Array dimensioned _n xxxx[[[[_n]]]] Character cccchhhhaaaarrrr Integer iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]]) Single precision ffffllllooooaaaatttt Double precision ddddoooouuuubbbblllleeee Single precision complex ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> Double precision complex ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> SSSSEEEEEEEE AAAALLLLSSSSOOOO IIIINNNNTTTTRRRROOOO____SSSSCCCCSSSSLLLL(3S), IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS1111(3S) IIIINNNNTTTTRRRROOOO____CCCCBBBBLLLLAAAASSSS(3S) for information about using the C interface to Fortran 77 Basic Linear Algebra Subprograms (legacy BLAS) set forth by the Basic Linear Algebra Subprograms Technical Forum. PPPPaaaaggggeeee 5555